package com.fanketly.funacg2.utils

object TimeUtils {
    /**
     * 将秒数转为时长（时分秒）
     * */
    fun timeConversion(time: Int): String {
        var hour = 0
        var minutes = 0
        var second = 0
        val temp = time % 3600
        if (time > 3600) {
            hour = time / 3600
            if (temp != 0) {
                if (temp > 60) {
                    minutes = temp / 60
                    if (temp % 60 != 0) {
                        second = temp % 60
                    }
                } else {
                    second = temp
                }
            }
        } else {
            minutes = time / 60
            if (time % 60 != 0) {
                second = time % 60
            }
        }
        return (if (hour < 10) "0$hour" else hour).toString() + ":" + (if (minutes < 10) "0$minutes" else minutes) + ":" + if (second < 10) "0$second" else second
    }

    ///////////////////////////////////////////////////////////////////////////
    // 毫秒转
    ///////////////////////////////////////////////////////////////////////////
    fun millisecondToMin(mill: Long): Int {
        return (mill / 1000 / 60).toInt()
    }

    ///////////////////////////////////////////////////////////////////////////
    // 转毫秒
    ///////////////////////////////////////////////////////////////////////////
    fun hourToMillisecond(hour: Int): Long {
        if (hour == 0) return 0
        return hour * 60 * 60 * 1000L
    }

    fun minToMillisecond(min: Int): Long {
        if (min == 0) return 0
        return min * 60 * 1000L
    }

    ///////////////////////////////////////////////////////////////////////////
    // 限制范围的加时间
    ///////////////////////////////////////////////////////////////////////////
    fun plusOneHourButMax24(hour: Int): Int {
        return if (hour + 1 > 24) 0
        else 1
    }

    fun negOneHourButMin0(hour: Int): Int {
        return if (hour - 1 > -1) 1
        else 0
    }

    fun negOneMinButMin0(min: Int): Int {
        return if (min - 1 > -1) 1
        else 0
    }

    fun negTenMinButMin0(min: Int): Int {
        return if (min - 10 > -1) 10
        else min
    }
}